<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    死鎖與饑餓的區別?


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    2604
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    CISP-PTE CISM-WSE

    死鎖和饑餓都是在多處理操作系統或分布式系統中的相關概念,它們會導致一個或多個線程或進程陷入等待其所需資源的狀態。

    • 定義不同

      死鎖和饑餓都是相關的概念,它們阻止公平的系統調度,在該調度中阻止進程訪問資源。顧名思義,死鎖是指一組線程或進程被阻塞的情況,因為每個進程都在等待獲取另一進程持有的資源,從而導致程序停止運行的死鎖情況。另一方面,饑餓是由死鎖觸發的,死鎖會導致進程凍結,因為低優先級進程被拒絕訪問分配給高優先級進程的資源。

    • 條件不同

      死鎖是指當線程或進程進入等待周期時發生的特定條件,因為它所請求的系統資源由另一個進程持有,而另一個進程又在等待另一個進程釋放其資源從而創建死鎖。這是由于資源利用率不高引起的。饑餓是無限期的延遲條件,由于資源被分配給另一個高優先級進程,因此低優先級進程被拒絕訪問其所需的資源。這是一個資源管理問題,迫使系統僅將資源分配給高優先級進程。

    • 表征不同

      死鎖是同時發生以下四個條件時導致的饑餓的最終形式:互斥,無搶占,保留和等待以及循環等待。死鎖條件僅在所有四個條件都成立的系統中發生。饑餓是根據不同的條件而發生的,例如,當沒有足夠的資源可以使用時,進程的優先級開始降低,或者當進程開始將資源移交給其他進程而無法控制時。如果低優先級進程請求為高優先級進程保留的資源,則該進程將永遠餓死。當任意分配資源導致進程等待更長的時間時,也會發生饑餓。

    • 預防不同

      可以通過對優先級隊列使用適當的調度算法來防止饑餓,實際上它也使用了老化技術–一種調度技術,該算法將老化因子添加到每個請求的優先級中,這意味著它增加了一直在等待的低優先級進程的優先級需很長時間。另外,為計劃提供更多資源應避免資源持續擁擠。為防止系統陷入僵局,必須拒絕進程訪問一個或多個資源,同時等待其他資源,并且一次只能允許一個進程訪問資源。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类